/*
 * @Author       : Deng
 * @Date         : 2024-04-26 17:53:50
 * @LastEditors  : Joel
 * @LastEditTime : 2024-04-27 01:32:51
 * @FilePath     : \lib\rgb.h
 * @Description  :
 * Copyright 2024 YiJiaLink, All Rights Reserved.
 * 2024-04-26 17:53:50
 */
#ifndef RGB_H
#define RGB_H

#include "stc15.h"
typedef unsigned int uint16_t; // 对系统默认数据类型进行重定义
typedef unsigned char uint8_t;
// 定义RED管脚
#define RED_PIN P1_0
// 定义GREEN管脚
#define GREEN_PIN P1_1
// 定义BLUE管脚
#define BLUE_PIN P1_2

// 定义BLUE管脚
#define WHITE_PIN P1_3
/* PWM周期 */
#define PWM_CYCLE 255
/* 定义是否需要PWM死区 */
// #define DEAD_ZONE 1
/* 公共(可被其他源文件使用)宏、枚举、结构体的定义 */
typedef struct _init_rgb_pwm
{

    uint16_t red_duty;
    uint16_t green_duty;
    uint16_t blue_duty;
    uint16_t white_duty;

    uint16_t index_red;
    uint16_t index_green;
    uint16_t index_blue;
    uint16_t index_white;

    uint8_t brightness_index;

} init_rgb_pwm;

typedef enum _FLASH
{
    RED,   // 红色
    GREEN, // 绿色
    BLUE,  // 蓝色
    WHITE  // 白色
} FLASH_MODE;

void set_red_on_off(uint8_t flag);
void set_green_on_off(uint8_t flag);
void set_blue_on_off(uint8_t flag);

#endif